home *** CD-ROM | disk | FTP | other *** search
- package com.extensibility.xml;
-
- import com.extensibility.util.Debug;
- import com.extensibility.xml.dt.DataType;
- import com.extensibility.xml.dt.Facet;
- import java.io.IOException;
- import java.io.Writer;
-
- class XDRFlavor extends BaseFlavor {
- static String NAME = "xdr";
-
- XDRFlavor(SchemaIntf var1) {
- super(var1);
- }
-
- public String getFlavorName() {
- return NAME;
- }
-
- public void parse(URI var1, URI var2, int var3, Object var4) throws IOException {
- (new XDRReader(super.schema)).parse(var1);
- NamespaceDeclaration var5 = super.schema.getNamedNamespace("exv");
- if (var5 != null) {
- super.schema.removeDeclaration(var5);
- }
-
- var5 = super.schema.getNamedNamespace("xa");
- if (var5 != null) {
- super.schema.removeDeclaration(var5);
- }
-
- }
-
- public void write(Writer var1) throws IOException {
- this.write(var1, super.schema.getURI());
- }
-
- public void write(Writer var1, URI var2) throws IOException {
- Debug.assert(var2.equals(super.schema.getURI()), "XDR/BIZ doesn't support modules");
- SchemaUtilities.getWriter(super.schema, this.getFlavorName()).writeDocument(var1);
- }
-
- public String getSourcePreview(BaseDeclaration var1) {
- return (new XDRWriter(super.schema)).getSourcePreview(var1);
- }
-
- public BaseExemplar createExemplar(SchemaIntf var1) {
- return new XDRExemplar(var1);
- }
-
- public URI getSchemaLoc(NamespaceDeclaration var1) {
- String var2 = var1.getNamespace();
- return var2 != null && var2.startsWith("x-schema:") ? new URI(var2.substring(9)) : null;
- }
-
- public boolean isSupported(Class var1) {
- return !var1.equals(Class.forName("com.extensibility.xml.GeneralEntityDeclaration")) && !var1.equals(Class.forName("com.extensibility.xml.InternalGEDeclaration")) && !var1.equals(Class.forName("com.extensibility.xml.ExternalGEDeclaration")) && !var1.equals(Class.forName("com.extensibility.xml.ParameterEntityDeclaration")) && !var1.equals(Class.forName("com.extensibility.xml.InternalPEDeclaration")) && !var1.equals(Class.forName("com.extensibility.xml.ExternalPEDeclaration")) && !var1.equals(Class.forName("com.extensibility.xml.ExternalSubset")) && !var1.equals(Class.forName("com.extensibility.xml.NotationDeclaration")) && !var1.equals(Class.forName("com.extensibility.xml.DataTypeDeclaration"));
- }
-
- public void checkForErrors(BaseDeclaration var1) {
- super.checkForErrors(var1);
- if (var1 != null) {
- if (var1 instanceof ElementDeclaration) {
- DataType var2 = ((ElementDeclaration)var1).getDataType();
- if (var2 != null && var2.isEnumeration()) {
- var1.addError(new ParserException(263, var1.getName()));
- }
- }
-
- if (var1 instanceof AttributeDeclaration) {
- DataType var3 = ((AttributeDeclaration)var1).getDataType();
- if (var3 != null && var3.hasFacet(Facet.FACET_ENUM_NAME) && !var3.isEnumeration() && !var3.isNotation()) {
- var1.addError(new ParserException(232, ((AttributeDeclaration)var1).getChoicesSource((String)null)));
- }
- }
- }
-
- }
-
- public boolean isSupported(String var1) {
- if (var1.equals("GESTALT_OPEN_CONTENT")) {
- return true;
- } else if (var1.equals("GESTALT_GLOBAL_ATTRS")) {
- return true;
- } else {
- return var1.equals("GESTALT_NMTOKEN_ENUM_REQUIRED") ? true : super.isSupported(var1);
- }
- }
- }
-